/* ==========================================================================
   Syntax highlighting and formatting
   ========================================================================== */

/* 
   Pygments.rb and Rouge
   ========================================================================== */

.highlight {
	background-color: #efefef;
	font-family: $code-font;
	color: #333332;
	margin-bottom: 1.5em;
	@include rounded($border-radius);
	pre {
		position: relative;
		margin: 0;
		padding: 1em;
	}
	.lineno { padding-right: 24px; color: lighten(#333332,50);}
	.hll { background-color: #ffffcc }
	.c { color: #999988; font-style: italic } /* Comment */
	.err { color: #a61717; background-color: #e3d2d2 } /* Error */
	.k { color: #000000; font-weight: bold } /* Keyword */
	.o { color: #000000; font-weight: bold } /* Operator */
	.cm { color: #999988; font-style: italic } /* Comment.Multiline */
	.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
	.c1 { color: #999988; font-style: italic } /* Comment.Single */
	.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
	.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
	.ge { color: #000000; font-style: italic } /* Generic.Emph */
	.gr { color: #aa0000 } /* Generic.Error */
	.gh { color: #999999 } /* Generic.Heading */
	.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
	.go { color: #888888 } /* Generic.Output */
	.gp { color: #555555 } /* Generic.Prompt */
	.gs { font-weight: bold } /* Generic.Strong */
	.gu { color: #aaaaaa } /* Generic.Subheading */
	.gt { color: #aa0000 } /* Generic.Traceback */
	.kc { color: #000000; font-weight: bold } /* Keyword.Constant */
	.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
	.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
	.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
	.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
	.kt { color: #445588; font-weight: bold } /* Keyword.Type */
	.m { color: #009999 } /* Literal.Number */
	.s { color: #d01040 } /* Literal.String */
	.na { color: #008080 } /* Name.Attribute */
	.nb { color: #0086B3 } /* Name.Builtin */
	.nc { color: #445588; font-weight: bold } /* Name.Class */
	.no { color: #008080 } /* Name.Constant */
	.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
	.ni { color: #800080 } /* Name.Entity */
	.ne { color: #990000; font-weight: bold } /* Name.Exception */
	.nf { color: #990000; font-weight: bold } /* Name.Function */
	.nl { color: #990000; font-weight: bold } /* Name.Label */
	.nn { color: #555555 } /* Name.Namespace */
	.nt { color: #000080 } /* Name.Tag */
	.nv { color: #008080 } /* Name.Variable */
	.ow { color: #000000; font-weight: bold } /* Operator.Word */
	.w { color: #bbbbbb } /* Text.Whitespace */
	.mf { color: #009999 } /* Literal.Number.Float */
	.mh { color: #009999 } /* Literal.Number.Hex */
	.mi { color: #009999 } /* Literal.Number.Integer */
	.mo { color: #009999 } /* Literal.Number.Oct */
	.sb { color: #d01040 } /* Literal.String.Backtick */
	.sc { color: #d01040 } /* Literal.String.Char */
	.sd { color: #d01040 } /* Literal.String.Doc */
	.s2 { color: #d01040 } /* Literal.String.Double */
	.se { color: #d01040 } /* Literal.String.Escape */
	.sh { color: #d01040 } /* Literal.String.Heredoc */
	.si { color: #d01040 } /* Literal.String.Interpol */
	.sx { color: #d01040 } /* Literal.String.Other */
	.sr { color: #009926 } /* Literal.String.Regex */
	.s1 { color: #d01040 } /* Literal.String.Single */
	.ss { color: #990073 } /* Literal.String.Symbol */
	.bp { color: #999999 } /* Name.Builtin.Pseudo */
	.vc { color: #008080 } /* Name.Variable.Class */
	.vg { color: #008080 } /* Name.Variable.Global */
	.vi { color: #008080 } /* Name.Variable.Instance */
	.il { color: #009999 } /* Literal.Number.Integer.Long */
}

/* 
   Coderay
   ========================================================================== */

.CodeRay {
  background-color: #efefef;
  font-family: $code-font;
  @include font-size(12);
  color: #333332;
  margin-bottom: 1.5em;
  @include rounded(4px);
  pre {
    margin: 0px;
    padding: 1em;
  }
}

div.CodeRay { }
span.CodeRay { white-space: pre; border: 0px; padding: 2px }

table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
table.CodeRay td {
  padding: 1em 0.5em;
  vertical-align: top;
}

ol.CodeRay { font-size: 10pt }
ol.CodeRay li { white-space: pre }

.CodeRay {

	.line-numbers, 
	.no {
	  background-color: #ececec;
	  color: #aaa;
	  text-align: right;
	}

	.line-numbers a {
	  color: #aaa;
	}

	.line-numbers tt { font-weight: bold }
	.line-numbers .highlighted { color: red }
	.line { display: block; float: left; width: 100%; }
	span.line-numbers { padding: 0 24px 0 4px }
	.code { width: 100% }

	.code pre { overflow: auto }
  .debug { color: white !important; background: blue !important; }
	.annotation { color: #007 }
	.attribute-name { color: #f08 }
	.attribute-value { color: #700 }
	.binary { color: #509; font-weight: bold }
	.comment  { color: #998; font-style: italic;}
	.char { color: #04d }
	.char .content { color: #04d }
	.char .delimiter { color: #039 }
	.class { color: #458; font-weight: bold }
	.complex { color: #a08; font-weight: bold }
	.constant { color: teal; }
	.color { color: #0a0 }
	.class-variable { color: #369 }
	.decorator { color: #b0b; }
	.definition { color: #099; font-weight: bold }
	.directive { color: #088; font-weight: bold }
	.delimiter { color: black }
	.doc { color: #970 }
	.doctype { color: #34b }
	.doc-string { color: #d42; font-weight: bold }
	.escape  { color: #666; font-weight: bold }
	.entity { color: #800; font-weight: bold }
	.error { color: #f00; background-color: #faa }
	.exception { color: #c00; font-weight: bold }
	.filename { color: #099; }
	.function { color: #900; font-weight: bold }
	.global-variable { color: teal; font-weight: bold }
	.hex { color: #058; font-weight: bold }
	.integer  { color: #099; }
	.include { color: #b44; font-weight: bold }
	.inline { color: black }
	.inline .inline { background: #ccc }
	.inline .inline .inline { background: #bbb }
	.inline .inline-delimiter { color: #d14; }
	.inline-delimiter { color: #d14; }
	.important { color: #f00; }
	.interpreted { color: #b2b; font-weight: bold }
	.instance-variable { color: teal }
	.label { color: #970; font-weight: bold }
	.local-variable { color: #963 }
	.octal { color: #40e; font-weight: bold }
	.operator { }
	.predefined-constant { font-weight: bold }
	.predefined { color: #369; font-weight: bold }
	.preprocessor { color: #579; }
	.pseudo-class { color: #00c; font-weight: bold }
	.predefined-type { color: #074; font-weight: bold }
	.reserved, 
	.keyword { color: #000; font-weight: bold }

	.key { color: #808; }
	.key .delimiter { color: #606; }
	.key .char { color: #80f; }
	.value { color: #088; }

	.regexp { background-color: #fff0ff }
	.regexp .content { color: #808 }
	.regexp .delimiter { color: #404 }
	.regexp .modifier { color: #c2c }
	.regexp .function  { color: #404; font-weight: bold }

	.string { color: #d20; }
	.string .string { }
	.string .string .string { background-color: #ffd0d0 }
	.string .content { color: #d14; }
	.string .char { color: #d14; }
	.string .delimiter { color: #d14; }

	.shell { color: #d14 }
	.shell .content { }
	.shell .delimiter { color: #d14 }

	.symbol { color: #990073 }
	.symbol .content { color: #a60 }
	.symbol .delimiter { color: #630 }

	.tag { color: #070 }
	.tag-special { color: #d70; font-weight: bold }
	.type { color: #339; font-weight: bold }
	.variable { color: #036 }

	.insert { background: #afa; }
	.delete { background: #faa; }
	.change { color: #aaf; background: #007; }
	.head { color: #f8f; background: #505 }

	.insert .insert { color: #080; font-weight: bold }
	.delete .delete { color: #800; font-weight: bold }
	.change .change { color: #66f; }
	.head .head { color: #f4f; }
}
